﻿function doAjaxDisableUser(controller, action, postData)
{
    startAjaxWait();
    doAjax(controller, action, postData, function ()
    {
        closeModal(true);
    },
    function ()
    {
        location.href = "/Home/Error";
    });
}
function doAjax(controller, action, postData, successFunc, errorFunc) {
    var url = '/' + controller + '/' + action;
    $.ajax({
        dataType: "json",
        url: url,
        data: postData,
        type: "POST",
        traditional: true,
        success: function (data, status, xhr) {
            //console.log(data);

            if (xhr.getResponseHeader("AdditionalState") == 'Unauthorized')
                location.href = '/Account/LogOn?returnUrl=' + escape(window.location.pathname);
                //location.href = '/Account/LogOn?ReturnUrl=' + location.href; --- была
                
            if (successFunc) successFunc(data);
            //скрываем индикатор загрузки
            //hideLoadingReport();
        },
        error: function (err) {
            console.log(err);

            var errText = '';
            if ('status' in err) errText += 'status: ' + err.status + '\n\n';
            if ('responseText' in err) {
                var d = $(document.createElement('div'));
                d.html(err.responseText);
                errText += d.find('title').html();
            }
            errText = 'Произошла ошибка при получении данных.\n\n' + url + '\n\n' + errText;

            console.log(errText);

            if (errorFunc != undefined) errorFunc();

            //скрываем индикатор загрузки
            //hideLoadingReport();
        }
    });

}


function doAjaxHtml(controller, action, postData, successFunc, resultPlaceholderSelector) {
    var url = '/' + controller + '/' + action;
    $.ajax({
        dataType: "html",
        url: url,
        data: postData,
        type: "POST",
        traditional: true,
        success: function (data, status, xhr) {

            if (xhr.getResponseHeader("AdditionalState") == 'Unauthorized')
                location.href = '/Account/LogOn?returnUrl=' + escape(window.location.pathname);

            //if (successFunc) successFunc(data);
            console.log("2");
            if (resultPlaceholderSelector != undefined)
                $(resultPlaceholderSelector).html(data);
            if (successFunc) successFunc(data);

            //скрываем индикатор загрузки
            //hideLoadingReport();
        },
        error: function (err) {
            console.log(err);

            //alert(err.status);

            var errText = '';
            if ('status' in err) errText += 'status: ' + err.status + '\n\n';
            if ('responseText' in err) {
                var d = $(document.createElement('div'));
                d.html(err.responseText);
                errText += d.find('title').html();
            }
            errText = 'Произошла ошибка при получении данных.\n\n' + url + '\n\n' + errText;

            console.log(errText);
            //alert(errText);

            //скрываем индикатор загрузки
            //hideLoadingReport();
        }
    });

}